
FROM  python:3.11-slim-bookworm
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

# 设置工作目录
WORKDIR /app

# 复制依赖文件
COPY requirements.txt .

# 使用 uv 安装基础依赖到系统环境
RUN uv pip install --system -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 复制应用代码和启动脚本
COPY app/ ./app/
COPY start.sh .

# 创建依赖目录
RUN mkdir -p /dependencies

# 创建文件目录
RUN mkdir -p /files

RUN touch /files/tmp_code_file_xxx.py

# 设置启动脚本权限
RUN chmod +x start.sh

# 暴露端口
EXPOSE 9214

# 使用启动脚本替代直接的 uvicorn 命令
CMD ["./start.sh"]
